@echo off
chcp 65001
title 云打印应用调试工具

echo === 云打印应用程序调试工具 ===

:: 确定应用程序可执行文件路径
set "APP_EXE=%~dp0cloud_print_app.exe"
if not exist "%APP_EXE%" (
    if exist "%~dp0build\exe\cloud_print_app.exe" (
        set "APP_EXE=%~dp0build\exe\cloud_print_app.exe"
        echo 找到应用程序可执行文件: %APP_EXE%
    ) else (
        echo 错误: 未找到应用程序可执行文件!
        echo 请确保已成功构建应用程序。
        pause
        exit /b 1
    )
)

:: 创建日志目录
set "LOG_DIR=%~dp0logs"
if not exist "%LOG_DIR%" (
    mkdir "%LOG_DIR%" 2>nul
    echo 已创建日志目录: %LOG_DIR%
)

echo 准备在前台模式运行应用程序，显示所有输出...
echo 应用程序路径: %APP_EXE%
echo 按任意键开始运行，输出将直接显示在此窗口
echo 如有错误，请将错误信息截图或复制给开发人员
echo.
pause

echo 正在启动云打印应用程序...
echo 启动时间: %date% %time% > "%LOG_DIR%\app_start.log"
echo 执行命令: %APP_EXE% >> "%LOG_DIR%\app_start.log"
echo. >> "%LOG_DIR%\app_start.log"

echo 正在运行，请稍候...
"%APP_EXE%" > "%LOG_DIR%\app_stdout.log" 2> "%LOG_DIR%\app_stderr.log"

echo.
if %errorlevel% neq 0 (
    echo 应用程序已退出，退出代码: %errorlevel% (非零表示出错)
    echo 标准错误输出:
    echo -------------------------------------------
    type "%LOG_DIR%\app_stderr.log"
    echo -------------------------------------------
    echo.
    echo 标准输出:
    echo -------------------------------------------
    type "%LOG_DIR%\app_stdout.log"
    echo -------------------------------------------
) else (
    echo 应用程序正常退出，退出代码: 0
    echo 标准输出:
    echo -------------------------------------------
    type "%LOG_DIR%\app_stdout.log"
    echo -------------------------------------------
)

echo.
echo 调试日志已保存到:
echo   %LOG_DIR%\app_stdout.log
echo   %LOG_DIR%\app_stderr.log
echo.
echo 如需帮助，请将这些日志文件提供给开发人员。
echo.
pause 